package wiiusej.wiiusejevents.utils;

import wiiusej.wiiusejevents.physicalevents.MotionSensingEvent;
import wiiusej.wiiusejevents.physicalevents.WiimoteButtonsEvent;
import wiiusej.wiiusejevents.wiiuseapievents.DisconnectionEvent;
import wiiusej.wiiusejevents.wiiuseapievents.StatusEvent;

public interface WiimoteBasicListener extends java.util.EventListener{

	
	
	/**
	 * Method called on a button Event.
	 * 
	 * @param e
	 *            the buttonEvent with the last informations about the buttons
	 *            of the wiimote.
	 */
	void onButtonsEvent(WiimoteButtonsEvent e);
	
	
	/**
	 * Method called when a motion sensing event occurs.
	 * 
	 * @param e
	 *            the motion sensing event with orientation and acceleration.
	 */
	void onMotionSensingEvent(MotionSensingEvent e);

	
	/**
	 * Method called on a status event. A status event occurs when : - we ask it -
	 * an expansion controller has been plugged - an expansion controller has
	 * been unplugged This is where you can get the different values of the
	 * parameters setup on your wiimote.
	 * 
	 * @param e
	 *            the status event.
	 */
	void onStatusEvent(StatusEvent e);

	/**
	 * This is the method called when a disconnection event occurs. A
	 * disconnection event happens when : - there are no battery left - the
	 * wiimote has just been turned off - the connection is dropped
	 * 
	 * @param e
	 *            the disconnection event.
	 */
	void onDisconnectionEvent(DisconnectionEvent e);

	
}
